// 文章分类接口
// 加载express模块
const express = require('express');
// 创建路由对象,也是函数,可以作为app.use的函数参数
const router = express.Router();
// console.log(router); //[Function: router]

// 往路由对象上挂载各种接口

// 加载连接服务器文件的自定义模块
const db = require('../db.js');

// 获取文章分类的接口
router.get('/cates',async(req,res)=>{
    // res.send('获取文章分类');
    // 如果获取成功的话，result接收db函数里promise的resove传递的结果，失败的话，接收catch里return的结果
    let re = await db('select * from category');
    // console.log(re);
    if(re === -1){
        // 获取文章分类失败
        res.send({
            status:1,
            msg:'获取文章分类失败'
        });

    }else {
        // 获取文章分类成功
        res.send({
            status:0,
            msg:'获取文章分类成功',
            data:re,
        });

    }
});

// 添加文章分类的接口
router.post('/addcates',async(req,res)=>{
    // 获取请求体
    let body = req.body;
    // 获取添加文章分类的结果
    let re = await db('insert into category set ?',body);
    if(re === -1){
        // 添加文章分类失败
        res.send({
            status:1,
            msg:'添加文章分类失败'
        });

    }else {
        // 添加文章分类成功
        res.send({
            status:0,
            msg:'添加文章分类成功'
        });
    }
});

// 编辑文章分类的接口
router.post('/updatecate',async(req,res)=>{
    // 获取请求体
    let body = req.body;
    let re = await db('update category set ? where Id=?',[body,body.id]);
    if(re === -1){
        // 更改文章分类失败
        res.send({
            status:1,
            msg:'更新分类信息失败'
        });
    }else {
        // 更新成功
        res.send({
            status:0,
            msg:'更新分类信息成功'
        });
    }
});


// 删除文章分类的接口
router.get('/deletecate/:id',async(req,res)=>{
    // 获取要删除的id  动态参数
    let id = req.params.id;
    let re = await db('delete from category where Id=?',id);
    if(re === -1){
        // 删除文章分类失败
        res.send({
            status:1,
            msg:'删除文章分类失败'
        });
    }else {
        // 删除文章分类成功
        res.send({
            status:0,
            msg:'删除文章分类成功'
        });
    }
});


// 导出路由对象
module.exports = router;
